home *** CD-ROM | disk | FTP | other *** search
/ PC World Interactive 4 / PC World Interactive 4.iso / share / internet / LSMIRC61.EXE / evmode.in_ / evmode.in
INI File  |  1997-09-21  |  12KB  |  264 lines

  1. [script]
  2. n0=;
  3. n1=;   This section deals with channel mode changes
  4. n2=;   I didn't bother putting in many comments here...
  5. n3=;   If you can't figure it out, you shouldn't even be thinking about changing it!
  6. n4=;
  7. n5=alias emode {
  8. n6=  if (%haveoptions [ $+ [ $1 ] ] ) set %modechan $1
  9. n7=  else set %modechan other
  10. n8=  if ((%mode [ $+ [ %modechan ] ] != $null) && (%enforcemode [ $+ [ %modechan ] ] )) mode $1 %mode [ $+ [ %modechan ] ]
  11. n9=}
  12. n10=alias mtxt if (%urd) { z | echo 1 $me $2 $+ : 3,0Mode change $3- by $1 }
  13. n11=alias sitebyaddy {
  14. n12=  set %len $len($a2($1)) | dec %len 4
  15. n13=  set %ady $right($a2($1),%len)
  16. n14=  return %ady
  17. n15=}
  18. n16=alias tryagain inc %checkattempt [ $+ [ $1 ] ] | .timer 1 5 checkusers $1
  19. n17=alias checkusers {
  20. n18=  if (%checkattempt [ $+ [ $1 ] ] > 18) { set %checkattempt [ $+ [ $1 ] ] 0 | who $1 }
  21. n19=  if (%updatedial [ $+ [ $1 ] ] = $false) { tryagain $1 | halt }
  22. n20=  if (%haveoptions [ $+ [ $1 ] ] ) set %checkchan $1
  23. n21=  else set %checkchan other
  24. n22=  %i = 0 | %deops = 0 | %nicks = ""
  25. n23=  :nx
  26. n24=  inc %i
  27. n25=  set %nick $nick($1,%i)
  28. n26=  if %nick != $null {
  29. n27=    if %nick = $me { if (%euser) altech -s %dis26 $+ %nick $+ : %dis28 $+ hey, that's me! | goto nx }
  30. n28=    set %adr $a5(%nick) | set %level $al(%adr)
  31. n29=    if %level = 10 {
  32. n30=      set %chans $readini $ul whereban $ma(%nick)
  33. n31=      if ((%chans = $null) || ($1 isin %chans)) {
  34. n32=        if (%banlist) {
  35. n33=          set %reason $readini $ul whyban $ma(%nick)
  36. n34=          mode $1 +b-o $ma(%nick) %nick
  37. n35=          if %reason != $null kick $1 %nick banned: %reason
  38. n36=          else kick $1 %nick %default
  39. n37=          writeini $ul lastused $ma(%nick) $ctime
  40. n38=          if (%ekick) altech $1 %dis3 $+ Shitlisted User! %dis4 $+ Kicking %nick
  41. n39=          rtb $ma(%nick) $1
  42. n40=        }
  43. n41=        elseif (%euser) altech $1 %dis30 $+ Warning! %nick matches ban on $ma(%nick) (Ban List not active)
  44. n42=      }
  45. n43=      elseif (%euser) altech $1 %dis30 $+ Warning! %nick matches ban on $ma(%nick) $+ , but it's not banned on $1
  46. n44=    }
  47. n45=    elseif %level = 70 {
  48. n46=      if (%euser) altech -s %dis26 $+ %nick $+ : %dis28 $+ Your clone!
  49. n47=    }
  50. n48=    elseif %level > 18 {
  51. n49=      if ((%euser) && ($isfriend(%nick,$1))) {
  52. n50=        altech -s %dis26 $+ %nick $+ : %dis28 $+ recognized $wordlevel(%level)
  53. n51=        set %rnick $rnick.ady(%adr)
  54. n52=        if %rnick != %nick altech -s %dis29 $+ %nick is really %rnick
  55. n53=      }
  56. n54=      lastseen %rnick
  57. n55=    }
  58. n56=    else {
  59. n57=      if (%idlekick [ $+ [ $1 ] ] ) writeini $mircdiridle.ini $1 %nick $ctime
  60. n58=      if (%euser) altech -s %dis26 $+ %nick $+ : %dis27 $+ ban check ok
  61. n59=      set %site $sitebyaddy(%nick)
  62. n60=      if %nick isop $1 {
  63. n61=        if ($isdeop(%nick,$1)) {
  64. n62=          mode $1 -o %nick
  65. n63=          if (%euser) altech -s %dis30 $+ Deopping %nick $+ ! 3,0(in deop list)
  66. n64=        }
  67. n65=        elseif ($notop(%nick,$1)) {
  68. n66=          if (%bitch [ $+ [ %checkchan ] ] ) {
  69. n67=            set %nicks %nicks %nick | inc %deops
  70. n68=            if %maxmodes // %deops { mode $1 -oooo %nicks | %nicks = "" }
  71. n69=            if (%euser) altech -s %dis30 $+ %nick (opped) is not in userlist! (deopping)
  72. n70=          }
  73. n71=          else {
  74. n72=            if (%euser) altech $1 %dis30 $+ %nick (opped) is not in userlist!
  75. n73=            if ((%tvbitched [ $+ [ $1 ] ] != $true) && (%euser)) { alert | set %tvbitched [ $+ [ $1 ] ] $true | altech 6 $1 Bitch Mode not active on $1 }
  76. n74=          }
  77. n75=        }
  78. n76=      }
  79. n77=      elseif %nick isvo $1 {
  80. n78=        if ($isdeop(%nick,$1)) {
  81. n79=          mode $1 -v $nick
  82. n80=          if (%euser) altech -s %dis30 $+ De-voicing %nick $+ ! (in devoice list)
  83. n81=        }
  84. n82=      }
  85. n83=    }
  86. n84=    goto nx
  87. n85=  }
  88. n86=  if $len(%nicks) > 0 mode $1 -oooo %nicks
  89. n87=}
  90. n88=alias gotops {
  91. n89=  if $1 = %target { deopall $1 | altech -a %dis10 $+ +o obtained on target channel | dh }
  92. n90=  if %tvrevop [ $+ [ $1 ] ] != $null mode $1 -o %tvrevop [ $+ [ $1 ] ]
  93. n91=  if (%tvimanop [ $+ [ $1 ] ] = $false) {
  94. n92=    set %tvimanop [ $+ [ $1 ] ] $true
  95. n93=    emode $1
  96. n94=    set %checkattempt [ $+ [ $1 ] ] 0
  97. n95=    checkusers $1
  98. n96=  }
  99. n97=}
  100. n98=on 1:SERVERMODE:#:{
  101. n99=  mtxt $nick $chan $parms
  102. n100=  if ($me isop $chan) emode $chan
  103. n101=}
  104. n102=on 1:USERMODE:{
  105. n103=  if (%doneinit) {
  106. n104=    if (($usermodes = $null) || ($usermodes = +)) altech -a %dis10 $+ Usermodes are now nothing
  107. n105=    else altech -a %dis10 $+ Usermodes are now $usermodes
  108. n106=    halt
  109. n107=  }
  110. n108=}
  111. n109=on 1:MODE:#:{
  112. n110=  mtxt $nick $chan $parms
  113. n111=  set %key [ $+ [ $chan ] ] $channel($chan).key
  114. n112=  if (($nick != $me) && ($me isop $chan)) emode $chan
  115. n113=}
  116. n114=on 1:OP:#:{
  117. n115=  if $nick = $me goto skip
  118. n116=  if $opnick = $me gotops $chan
  119. n117=  elseif $me isop $chan {
  120. n118=    if $nick = ChanServ goto skip
  121. n119=    if (%haveoptions [ $+ [ $chan ] ] ) set %opchan $chan
  122. n120=    else set %opchan other
  123. n121=    if (($isdeop($opnick,$chan)) && ($notbot($nick,$chan))) {
  124. n122=      mode $chan -o $opnick
  125. n123=      if (%usespecific) altech -s %dis10 $+ De-opping $opnick (in deop list on $chan $+ )
  126. n124=      else altech -s %dis10 $+ De-opping $opnick (in deop list)
  127. n125=    }
  128. n126=    elseif (($notop($opnick,$chan)) && (%bitch [ $+ [ %opchan ] ] )) {
  129. n127=      if ($ismaster($nick,$chan)) {
  130. n128=        altech -s %dis10 $+ $opnick not listed as an op on $chan $+ , allowed because $nick is a master
  131. n129=      }
  132. n130=      else { mode $chan -o $opnick | altech -s %dis10 $+ De-opped $opnick on $chan (not in user list) | speak dee opped $nick , not in your userlist }
  133. n131=    }
  134. n132=  }
  135. n133=  :skip
  136. n134=  mtxt $nick $chan +o $opnick
  137. n135=  log Opped: $opnick ( $+ $a3($opnick) $+ ) opped by $fulladdress on $chan
  138. n136=}
  139. n137=on 1:DEOP:#:{
  140. n138=  if $opnick = $me {
  141. n139=    set %tvimanop [ $+ [ $chan ] ] $false
  142. n140=    if (%revenge) {
  143. n141=      inc %tvrev [ $+ [ $nick ] ]
  144. n142=      if %tvrev [ $+ [ $nick ] ] = 2 { set %tvrevop [ $+ [ $chan ] ] $nick | .timer 1 30 unset %tvrevop [ $+ [ $chan ] ] }
  145. n143=      .timer 1 30 unset %tvrev [ $+ [ $nick ] ]
  146. n144=    }
  147. n145=    if ((%requestops [ $+ [ $chan ] ] ) && (%botnick [ $+ [ $chan ] ] != $null) && ($nick != $me)) {
  148. n146=      if (($gl(%botnick [ $+ [ $chan ] ] ) = 60) && (%botnick [ $+ [ $chan ] ] isop $chan)) raw -q PRIVMSG %botnick [ $+ [ $chan ] ] :op %botpass [ $+ [ $chan ] ]
  149. n147=    }
  150. n148=  }
  151. n149=  elseif (($nick != $me) && ($me isop $chan)) {
  152. n150=    if (%haveoptions [ $+ [ $chan ] ] ) set %deopchan $chan
  153. n151=    else set %deopchan other
  154. n152=    if (($isbot($opnick,$chan)) || ((%protecto [ $+ [ %deopchan ] ] ) && ($nick != $opnick) && ($notmaster($nick,$chan)) && ($isop($opnick,$chan)))) {
  155. n153=      mode $chan +o $opnick
  156. n154=      altech -s %dis10 $+ $nick deopped $opnick, re-opped $opnick
  157. n155=    }
  158. n156=    if (%massdeop [ $+ [ %deopchan ] ] ) {
  159. n157=      if (($isop($nick,$chan)) && (%opexdeop [ $+ [ %deopchan ] ] )) goto skip
  160. n158=      if ($notmaster($nick,$chan)) {
  161. n159=        if (%deops [ $+ [ $a3($nick) ] ] >= 2) {
  162. n160=          adeop $a3($nick) $chan
  163. n161=          kickall $a3($nick) $chan %massdeopmsg
  164. n162=          if (%ekick) {
  165. n163=            if (%ckick) set %temp $chan
  166. n164=            else set %temp -a
  167. n165=            altech %temp %dis3 $+ Mass Deop! %dis4 Kicking $nick from $chan
  168. n166=          }
  169. n167=          if (%smd = ding) ding
  170. n168=          elseif (%smd = speak) speak mass deop, kicking $nick from $nonum($chan)
  171. n169=          elseif (%smd != none) splay %smd
  172. n170=        }
  173. n171=        else { inc %deops [ $+ [ $a3($nick) ] ] 1 | .timer 1 10 unset %deops [ $+ [ $a3($nick) ] ] }
  174. n172=      }
  175. n173=    }
  176. n174=  }
  177. n175=  :skip
  178. n176=  log Deop: $opnick ( $+ $a3($opnick) $+ ) de-opped by $fulladdress on $chan
  179. n177=  mtxt $nick $chan -o $opnick
  180. n178=}
  181. n179=on 1:SERVEROP:#:{
  182. n180=  if $chan = %target { deopall $chan | altech -a %dis10 $+ Serverop detected on target channel | dh }
  183. n181=  mtxt $nick $chan -o $opnick | log Opped: $nick ServerOp: $opnick ( $+ $a3($opnick) $+ ) opped by $nick on $chan
  184. n182=  if $me !isop $chan halt
  185. n183=  if (%haveoptions [ $+ [ $chan ] ] ) set %opchan $chan
  186. n184=  else set %opchan other  
  187. n185=  if (%serverop [ $+ [ %opchan ] ] ) {
  188. n186=    if ((%deopall [ $+ [ %opchan ] ] ) || ($notop($opnick,$chan))) {
  189. n187=      mode $chan -o $opnick
  190. n188=      altech -s %dis10 $+ ServerOp: $nick set mode: +o $opnick (deopped)
  191. n189=      halt
  192. n190=    }
  193. n191=  }
  194. n192=}
  195. n193=on 1:BAN:#:{
  196. n194=  mtxt $nick $chan +b $banmask | if $nick = $me goto done
  197. n195=  if $banmask iswm $a5($me) {
  198. n196=    if $me isop $chan {
  199. n197=      if %maxmodes = 2 mode $chan -b+b $banmask $a3($nick)
  200. n198=      else mode $chan -o-b+b $nick $banmask $a3($nick)
  201. n199=      rtb $a3($nick) $chan
  202. n200=      kick $chan $nick $realtime Ban detected on me!
  203. n201=    }
  204. n202=    altech -a %dis10 $+ Ban on me detected on $chan (by $nick $+ ) | dh
  205. n203=  }
  206. n204=  if ($me !isop $chan) goto done
  207. n205=  if (%haveoptions [ $+ [ $chan ] ] ) set %banchan $chan
  208. n206=  else set %banchan other
  209. n207=  set %count 0
  210. n208=  :nx
  211. n209=  inc %count
  212. n210=  set %nick $ialchan($banmask,$chan,%count).nick
  213. n211=  if %nick != $null {
  214. n212=    if (($isfriend(%nick,$chan)) && ($notmaster($nick,$chan)) && (%monitor [ $+ [ %banchan ] ] )) {
  215. n213=      mode $chan -b $banmask
  216. n214=      altech -s %dis10 $+ Ban $banmask matched %nick $+ , removed (placed by $nick $+ ) 
  217. n215=      goto done
  218. n216=    }
  219. n217=    elseif (($notfriend(%nick,$chan)) && (%matchbans [ $+ [ %banchan ] ] )) {
  220. n218=      kick $chan %nick banned: $banmask by $nick
  221. n219=      if (%ekick) altech -s %dis10 $+ Kicking %nick (matched ban $banmask $+ )
  222. n220=    }
  223. n221=    goto nx
  224. n222=  }
  225. n223=  if (((irc. isin $nick) || (undernet. isin $nick) || (.net isin $nick)) && (%serverbans [ $+ [ %banchan ] ] )) mode $chan -b $banmask
  226. n224=  :done
  227. n225=  Log Ban: $banmask on $chan by $fulladdress
  228. n226=}
  229. n227=on 1:UNBAN:#:{
  230. n228=  mtxt $nick $chan -b $banmask | %p = 0
  231. n229=  if $count($banmask,$chr(32)) = 1 set %bc mode $chan -bb $banmask
  232. n230=  else set %bc mode $chan -b $banmask
  233. n231=  :nx
  234. n232=  inc %p
  235. n233=  if $timer(%p) != $null {
  236. n234=    if $timer(%p).com = %bc .timer $+ $timer(%p) off
  237. n235=    goto nx
  238. n236=  }
  239. n237=  Log Un-ban: $banmask on $chan by $fulladdress
  240. n238=}
  241. n239=on 1:DEVOICE:#:{
  242. n240=  mtxt $nick $chan -v $vnick
  243. n241=  if $nick != $me {
  244. n242=    if (%haveoptions [ $+ [ $chan ] ] ) set %voicechan $chan
  245. n243=    else set %voicechan other
  246. n244=    if (($me isop $chan) && (%protecto [ $+ [ %voicechan ] ] ) && ($isfriend($vnick,$chan)) && ($notmaster($nick,$chan))) {
  247. n245=      mode $chan +v $vnick
  248. n246=      altech -s %dis10 $+ Re-Voiced $vnick (De-Voiced by $nick on $chan $+ )
  249. n247=    }
  250. n248=  }
  251. n249=  Log Devoice: $vnick ( $+ $a3($vnick) $+ ) was de-voiced on $chan by $fulladdress
  252. n250=}
  253. n251=on 1:VOICE:#:{
  254. n252=  mtxt $nick $chan +v $vnick
  255. n253=  if (($me isop $chan) && ($nick != $me)) {
  256. n254=    if (($isdeop($vnick,$chan)) && ($notbot($nick,$chan))) {
  257. n255=      mode $chan -v $vnick
  258. n256=      if (%usespecific) altech -s %dis10 $+ De-voicing $vnick (in devoice list on $chan $+ )
  259. n257=      else altech -s %dis10 $+ De-voicing $vnick (in devoice list)
  260. n258=    }
  261. n259=  }
  262. n260=  Log Voice: $vnick ( $+ $a3($vnick) $+ ) was voiced on $chan by $fulladdress
  263. n261=}
  264.